OpenFortran: Extending Fortran with Meta-programming

نویسندگان

  • Songqing Yue
  • Jeff Gray
چکیده

Meta-programming has shown much promise for improving the quality of software by offering programming language techniques to address issues of modularity, reusability, maintainability, and extensibility. A system that supports metaprogramming is able to generate or manipulate other programs to extend their behavior. This paper describes OpenFortran, a Meta-Object Protocol (MOP) that is able to bring the power of meta-programming to Fortran, one of the most widely used languages in the area of High Performance Computing (HPC). OpenFortran provides a framework that allows library developers to build arbitrary source-to-source program transformation libraries for Fortran programs. To relieve the burden of learning the details about how the underlying transformations are performed, a domain-specific language named SPOT has been created that allows developers to specify direct manipulation of programs. The paper provides a general motivation for using a MOP in HPC and offers details about the implementation of OpenFortran and SPOT. As an example, the paper demonstrates how to use the framework to build a simple profiling library. Keywords—Meta-programming; program transformation; Meta-Object Protocol; Domain-Specific Language;

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

The open source RFortran library for accessing R from Fortran, with applications in environmental modelling

The open source RFortran library is introduced as a convenient tool for accessing the functionality and packages of the R programming language from Fortran programs. It significantly enhances Fortran programming by providing a set of easy-to-use functions that enable access to R's very rapidly growing statistical, numerical and visualization capabilities, and support a richer and more interacti...

متن کامل

ATHLET Framework for Embedding/Extending: An Efficient, Flexible & Easy-to-use Python Framework to a Large FORTRAN Code

— Over the years, large scientific code packages have been successfully developed using FORTRAN. Today, maintaining and extending these codes is a challenging task and often forbids several possibilities. Rewriting legacy code packages is almost prohibitive due to lacking resources and inertia against changing functional codes. One way of tackling these challenges is to integrate scripting lang...

متن کامل

Enlarging the Scope of Vector-Based Computations: Extending Fortran 90 by Nested Data Parallelism

This paper describes the integration of nested data parallelism into Fortran 90. Unlike flat data parallelism, nested data parallelism directly provides means for handling irregular data structures and certain forms of control parallelism, such as divideand-conquer algorithms, thus enabling the programmer to express such algorithms far more naturally. Existing work deals with nested data parall...

متن کامل

Interoperability of Data Parallel Runtime Libraries with Meta-chaos

This paper describes a framework for providing the ability to use multiple specialized data parallel libraries and/or languages within a single application. The ability to use multiple libraries is required in many application areas, such as multidisciplinary complex physical simulations and remote sensing image database applications. An application can consist of one program or multiple progra...

متن کامل

Julia: A Fast Dynamic Language for Technical Computing

Dynamic languages have become popular for scientific computing. They are generally considered highly productive, but lacking in performance. This paper presents Julia, a new dynamic language for technical computing, designed for performance from the beginning by adapting and extending modern programming language techniques. A design based on generic functions and a rich type system simultaneous...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2013